import openpyxl

from config.config import *



def read_excel(file_path = EXCEL_FILE,sheet_name = SHEET_NAME):

    # 打开excel文件
    work_book = openpyxl.load_workbook(file_path)   #参数传文件路径
    # work_book = openpyxl.load_workbook("../data/测试用例.xlsx")   #参数传文件路径

    # 选择表
    work_sheet = work_book[sheet_name]

    # 读数据操作
    # zip() 函数的作用，可以把可迭代对象，打包成一个个元组
    # '''
    # 思路，因为dict(zip(key,value))可以把读取到的数据变成字典类型，所以只需取出key行  和  value行即可
    # print(dict(zip([1, 2, 3, 4, 5], ["a", "b", "c", "d", "e"])))
    # {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}
    # '''
    data = []  #空列表，用于组织字典
    keys = [cell.value for cell in work_sheet[2]]   #拿表中的第二行，就是key行，生成一个key 的列表
    for row in work_sheet.iter_rows(min_row=3, values_only=True):  #从第三行开始，只返回值
        # print(row)   #得到value列表打印
        # print(dict(zip(keys, row)))
        dict_data = dict(zip(keys, row))
        #如果读取 的 is True 字段的值是 True，则append，否则不需要
        # print(dict_data["is True"])
        if dict_data["is True"] is True :
            data.append(dict_data)
    # print(data)  #打印所以的数据

    # 关闭excel文件
    work_book.close()

    return data
